# Chaoxed - Art Editor for Knuckles Chaotix
# (c) 2006 Josh Fiorio

CC = g++

BIN = .
OBJ = obj
SRC = src

COMMON = $(SRC)/common
WIN32 = $(SRC)/win32
LINUX = $(SRC)/linux

OBJS = $(OBJ)/art-buf.o $(OBJ)/chaotix_art.o $(OBJ)/chaotix_palette.o $(OBJ)/chaotix_pointer.o $(OBJ)/export.o $(OBJ)/fix_checksum.o $(OBJ)/framebuffer.o $(OBJ)/import.o $(OBJ)/misc_funcs.o
WINS = $(OBJ)/bitmap_import.o $(OBJ)/dlg_about.o $(OBJ)/dlg_files.o $(OBJ)/dlg_input.o $(OBJ)/dlg_main.o $(OBJ)/resources.o


$(BIN)/CHAOXED.EXE :	$(OBJ)/main.o $(OBJ)/winmain.o  $(OBJS) $(WINS)
	$(CC) -o $(BIN)/chaoxed.exe $(OBJ)/main.o $(OBJ)/winmain.o $(WINS) $(OBJS) -O2 -mwindows -Wall


$(OBJ)/main.o : $(SRC)/main.cpp
	$(CC) -c $(SRC)/main.cpp -o $(OBJ)/main.o

$(OBJ)/art-buf.o :	$(COMMON)/art-buf.cpp $(COMMON)/chaotix_art.h $(COMMON)/chaotix_palette.h $(COMMON)/framebuffer.h
	$(CC) -c $(COMMON)/art-buf.cpp -o $@

$(OBJ)/chaotix_%.o : $(COMMON)/chaotix_%.cpp $(COMMON)/misc_funcs.h
	$(CC) -c $< -o $@

$(OBJ)/export.o : $(COMMON)/export.cpp $(COMMON)/chaotix_art.h $(COMMON)/chaotix_palette.h $(COMMON)/framebuffer.h
	$(CC) -c $(COMMON)/export.cpp -o $@

$(OBJ)/fix_checksum.o : $(COMMON)/fix_checksum.cpp
	$(CC) -c $(COMMON)/fix_checksum.cpp -o $@

$(OBJ)/framebuffer.o :  $(COMMON)/framebuffer.cpp
	$(CC) -c $(COMMON)/framebuffer.cpp -o $@	

$(OBJ)/import.o : $(COMMON)/import.cpp $(COMMON)/chaotix_art.h $(COMMON)/chaotix_palette.h $(COMMON)/framebuffer.h
	$(CC) -c $(COMMON)/import.cpp -o $@

$(OBJ)/misc_funcs.o : $(COMMON)/misc_funcs.cpp
	$(CC) -c $< -o $@


$(OBJ)/winmain.o :	$(WIN32)/winmain.cpp
	$(CC) -c $(WIN32)/winmain.cpp -o $(OBJ)/winmain.o

$(OBJ)/bitmap_import.o : $(WIN32)/bitmap_import.cpp
	$(CC) -c $(WIN32)/bitmap_import.cpp -o $(OBJ)/bitmap_import.o

$(OBJ)/dlg_about.o : $(WIN32)/dlg_about.cpp
	$(CC) -c $(WIN32)/dlg_about.cpp -o $(OBJ)/dlg_about.o

$(OBJ)/dlg_files.o :	$(WIN32)/dlg_files.cpp
	$(CC) -c $(WIN32)/dlg_files.cpp -o $(OBJ)/dlg_files.o

$(OBJ)/dlg_input.o : $(WIN32)/dlg_input.cpp
	$(CC) -c $(WIN32)/dlg_input.cpp -o $(OBJ)/dlg_input.o

$(OBJ)/dlg_main.o : $(WIN32)/dlg_main.cpp
	$(CC) -c $(WIN32)/dlg_main.cpp -o $(OBJ)/dlg_main.o

$(OBJ)/resources.o : 	$(WIN32)/resources.rc  $(WIN32)/chaicon.ico
	windres $(WIN32)/resources.rc -o $(OBJ)/resources.o



